<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>eccodes: GRIB API installation</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">eccodes
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>C&#160;Interface</span></a></li>
      <li><a href="classeccodes.html"><span>F90&#160;Interface</span></a></li>
      <li><a href="namespaces.html"><span>Python&#160;Interface</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">GRIB API installation </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>GRIB API installation is based on the standard configure utility. It is tested on several platforms and with several compilers. However for some platforms modifications to the installation engine may be required. If you encounter any problem during the installation procedure please send an e-mail with your problem to <a href="#" onclick="location.href='mai'+'lto:'+'Sof'+'tw'+'are'+'.S'+'upp'+'or'+'t@e'+'cm'+'wf.'+'in'+'t'; return false;">Softw<span style="display: none;">.nosp@m.</span>are.<span style="display: none;">.nosp@m.</span>Suppo<span style="display: none;">.nosp@m.</span>rt@e<span style="display: none;">.nosp@m.</span>cmwf.<span style="display: none;">.nosp@m.</span>int</a>.</p>
<p>The only required package for a standard installation is <a href="http://www.ece.uvic.ca/~mdadams/jasper/">jasper</a> which enables the jpeg2000 packing/unpacking algorithm. It is possible to build GRIB API without jasper, by using the &ndash;disable-jpeg configure option, but to install a fully functional library, its download is recommended.</p>
<h1><a class="anchor" id="standard_installation"></a>
Standard installation</h1>
<ol type="1">
<li>Download GRIB API from <a href="http://www.ecmwf.int/products/data/software/download/grib_api.html">ECMWF web site</a>.</li>
<li>Unpack distribution: <div class="fragment"><div class="line">&gt; gunzip grib_api-X.X.X.tar.gz</div>
<div class="line">&gt; tar xf grib_api-X.X.X.tar</div>
</div><!-- fragment --></li>
<li>Create the directory where to install GRIB API say <em>grib_api_dir</em> <div class="fragment"><div class="line">&gt; mkdir grib_api_dir</div>
</div><!-- fragment --></li>
<li>Run the configure in the grib_api-X.X.X <div class="fragment"><div class="line">&gt; cd grib_api-X.X.X</div>
<div class="line">&gt; ./configure --prefix=grib_api_dir </div>
</div><!-- fragment --> Please give the full path of grib_api_dir to the prefix option.</li>
<li>make, check and install <div class="fragment"><div class="line">&gt; make</div>
<div class="line">...</div>
<div class="line">&gt; make check</div>
<div class="line">...</div>
<div class="line">&gt; make install</div>
<div class="line">...</div>
</div><!-- fragment --></li>
</ol>
<h1><a class="anchor" id="parameters_installation"></a>
Parameter files installation</h1>
<p>The following instructions are valid only if you have already installed GRIB API and you need to update the current parameter files. The parameter files should work with any version of GRIB API.</p>
<p>To install the parameter files, then please unpack the downloaded archive in the definition files folder of your GRIB API installation, i.e.:</p>
<div class="fragment"><div class="line">&gt; cd definitions</div>
<div class="line">&gt; gunzip grib_api_parameters-vX.tar.gz</div>
<div class="line">&gt; tar xf grib_api_parameters-vX.tar</div>
</div><!-- fragment --><p>This process will overwrite any changes you might have done to the parameter files, so please do make a backup of the definition files folder before installing the downloaded GRIB API parameter files.</p>
<h1><a class="anchor" id="definitions_installation"></a>
Definition files installation</h1>
<p>The following instructions are valid only if you have already installed GRIB API and you need to update the definition files compatible with the same library version you have already installed. Please note that using the definition files with a version of the library different from the one indicated as compatible will cause some problems in decoding/encoding.</p>
<ol type="1">
<li>Download GRIB API definition files from <a href="http://www.ecmwf.int/products/data/software/download/grib_api.html#definitions">ECMWF web site</a>.</li>
<li>Unpack distribution: <div class="fragment"><div class="line">&gt; gunzip grib_def-X.X.X.X.tar.gz</div>
<div class="line">&gt; tar xf grib_def-X.X.X.X.tar</div>
</div><!-- fragment --></li>
<li>Run the installation script from the grib_def-X.X.X.X directory: <div class="fragment"><div class="line">./installDefinitions.sh grib_api_dir def_files_dir</div>
</div><!-- fragment --> where grib_api_dir is the path to a working installation of GRIB API and def_files_dir is the directory where you want to install the new version of the defintion files. </li>
</ol>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
